Skip to content

Conversation

@mlaveaux
Copy link
Collaborator

Also started with the signature based strong symbolic bisimulation. This is not yet working correctly, and the quotient is also missing.

  • Moved pest_consume to a fork of the original repository, this adds traceability to where 3rd-party dependencies come from, and removed external code from this repo.
  • Move the 3rd party mCRL2 code to its own mcrl2-sys repository. However, it seems that cargo might not work ideal with submodules inside so perhaps this should not be done. Or we can add mcrl2-sys as a submodule itself.
  • Renamed some features for consistency.

@mlaveaux mlaveaux self-assigned this Jan 20, 2026
@mlaveaux mlaveaux added the enhancement New feature or request label Jan 20, 2026
Copilot AI review requested due to automatic review settings January 20, 2026 13:30
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request converts symbolic LTS representation from LDDs to BDDs and begins implementing signature-based strong symbolic bisimulation. The PR also reorganizes third-party dependencies by moving pest_consume and mcrl2-sys to external GitHub repositories.

Changes:

  • Adds BDD-based symbolic LTS representation and conversion from LDD format
  • Implements initial signature refinement algorithm (incomplete)
  • Moves third-party code (pest_consume, mcrl2-sys) to separate repositories
  • Adds new CLI commands to merc-sym tool for symbolic LTS operations
  • Renames mCRL2 features for consistency

Reviewed changes

Copilot reviewed 58 out of 62 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tools/sym/src/main.rs Adds new CLI interface with commands for info, explore, reorder, convert, and reduce operations on symbolic LTS
crates/symbolic/src/symbolic_lts_bdd.rs New module implementing BDD-based symbolic LTS representation with conversion from LDD format
crates/symbolic/src/sigref.rs New module for signature refinement algorithm (incomplete implementation)
crates/symbolic/src/ldd_to_bdd.rs Refactors LDD to BDD conversion to use explicit variable mapping instead of auto-generated variables
Cargo.toml Updates dependencies to use external repositories for pest_consume and mcrl2-sys
.gitmodules Removes submodules for mCRL2, boost, and cpptrace (moved to mcrl2-sys repo)
3rd-party/* Removes vendored pest_consume and mCRL2-related code
tools/mcrl2/* Removes mcrl2-sys crate (moved to separate repository)

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 77 out of 83 changed files in this pull request and generated 8 comments.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 89 out of 95 changed files in this pull request and generated 6 comments.

…different levels of the partition and the signature. This was unclear from the pseudocode.
…wice as slow with linking as thin LTO. This is 5 minutes in total on a full rebuild for the GUI tools, and is now 2,5 minutes.
 * It seems that rusty file dialog has been rewritten to drop about 200 dependencies, so that is nice.
…gref implementation.

 * The implementation makes no sense, but it does compute the right answer, whereas, the implementation that made sense did not.
@mlaveaux mlaveaux force-pushed the feature/symbolic_lts_bdd branch from 87df6b7 to 313677a Compare January 29, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant